1. Field of the Invention
The disclosed embodiments of the present invention relate to error checking and correction, and more particularly, to a method of error checking and correction applied in a multi-channel system, and a related circuit.
2. Description of the Prior Art
An error correction code (ECC) is a conventional error correction technique which can be applied in memory systems such as a NAND flash. The error correction technique is used to check the correctness of data sent to the memory. While the system is transferring data, for example, an extra 1-bit parity code is added to an 8-bit data as a correction code. When an error occurs, the error checking and correcting code will be able to self-correct the error, or request the system to resend data. This ensures normal system operation by preventing crashing due to data errors. Since using ECC involves this extra debugging step, the operating speed of an ECC memory is slightly slower than a non-ECC memory. In addition, since the error correcting code (e.g., the parity code) is added to the ECC memory, operating bit length becomes longer: e.g. 72-bits instead of the conventional 64-bits. This type of memory is usually used in high-end computers such as servers.
Conventionally, while writing data into multi-channel memories, each channel respectively generates an error correction code; while reading out data from the multi-channel memories, the error checking and correction procedure is processed for each channel according to the corresponding error correction code of each channel. In actual operations, however, there may be a large number of error bits which appear in a specific channel, but no error bits or only a small amount of error bits in the other channels. The imbalance is representative of space for completely exploiting the error checking and correction code in the memory, and therefore, there is a need for an innovative error checking and correction design which can fully utilize the error checking and correction code in the memory for enhancing performance.